<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Generate quenched gauge configurations &mdash; SIMULATeQCD 0.7 documentation</title>
      <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
      <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
      <link rel="stylesheet" href="../_static/togglebutton.css" type="text/css" />
      <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
  <!--[if lt IE 9]>
    <script src="../_static/js/html5shiv.min.js"></script>
  <![endif]-->
  
        <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
        <script src="../_static/jquery.js"></script>
        <script src="../_static/underscore.js"></script>
        <script src="../_static/doctools.js"></script>
        <script src="../_static/togglebutton.js"></script>
        <script>var togglebuttonSelector = '.toggle, .admonition.dropdown';</script>
    <script src="../_static/js/theme.js"></script>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="Gradient Flow" href="gradientFlow.html" />
    <link rel="prev" title="Gauge Fixing" href="gaugeFixing.html" /> 
</head>

<body class="wy-body-for-nav"> 
  <div class="wy-grid-for-nav">
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search"  style="background: #343131" >
            <a href="../index.html" class="icon icon-home"> SIMULATeQCD
          </a>
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>
        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
              <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../01_gettingStarted/gettingStarted.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_contributions/contributions.html">Contributions</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="applications.html">Applications</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="gaugeFixing.html">Gauge Fixing</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Generate quenched gauge configurations</a></li>
<li class="toctree-l2"><a class="reference internal" href="gradientFlow.html">Gradient Flow</a></li>
<li class="toctree-l2"><a class="reference internal" href="multiLevel.html">Multi-level algorithm</a></li>
<li class="toctree-l2"><a class="reference internal" href="rhmc.html">Rational Hybrid Monte Carlo</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../04_codeBase/codeBase.html">Code base</a></li>
<li class="toctree-l1"><a class="reference internal" href="../05_modules/modules.html">Modules</a></li>
</ul>

        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu"  style="background: #343131" >
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../index.html">SIMULATeQCD</a>
      </nav>

      <div class="wy-nav-content">
        <div class="rst-content">
          <div role="navigation" aria-label="Page navigation">
  <ul class="wy-breadcrumbs">
      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
          <li><a href="applications.html">Applications</a> &raquo;</li>
      <li>Generate quenched gauge configurations</li>
      <li class="wy-breadcrumbs-aside">
            <a href="../_sources/03_applications/quenched.md.txt" rel="nofollow"> View page source</a>
      </li>
  </ul>
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
             
  <section class="tex2jax_ignore mathjax_ignore" id="generate-quenched-gauge-configurations">
<h1>Generate quenched gauge configurations<a class="headerlink" href="#generate-quenched-gauge-configurations" title="Permalink to this headline"></a></h1>
<p>To learn more about the specifics of the gauge updates, take a look at
<a class="reference internal" href="../05_modules/gaugeUpdates.html"><span class="doc std std-doc">Gauge Updates (HB and OR)</span></a>.
To generate quenched gauge configurations, <code class="docutils literal notranslate"><span class="pre">make</span></code> the executable <code class="docutils literal notranslate"><span class="pre">generateQuenched</span></code>.
You can then find it under <code class="docutils literal notranslate"><span class="pre">applications/generateQuenched</span></code>. The example parameter file is
found under <code class="docutils literal notranslate"><span class="pre">parameter/generateQuenched.param</span></code> and looks like this:</p>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span><span class="c1">#parameter file for generateQuenched</span>
<span class="nv">Lattice</span> <span class="o">=</span> <span class="m">64</span> <span class="m">64</span> <span class="m">64</span> <span class="m">16</span>
<span class="nv">Nodes</span> <span class="o">=</span> <span class="m">1</span> <span class="m">1</span> <span class="m">1</span> <span class="m">1</span>
<span class="nv">beta</span> <span class="o">=</span> <span class="m">6</span>.87361
<span class="nv">format</span> <span class="o">=</span> nersc
<span class="nv">endianness</span> <span class="o">=</span> auto
<span class="nv">stream</span> <span class="o">=</span> a
<span class="nv">output_dir</span> <span class="o">=</span> .
<span class="nv">nconfs</span> <span class="o">=</span> <span class="m">1000</span>
<span class="nv">nsweeps_ORperHB</span> <span class="o">=</span> <span class="m">4</span>
<span class="nv">nsweeps_HBwithOR</span> <span class="o">=</span> <span class="m">500</span>

<span class="nv">start</span> <span class="o">=</span> one
<span class="nv">nsweeps_thermal_HB_only</span> <span class="o">=</span> <span class="m">500</span>
<span class="nv">nsweeps_thermal_HBwithOR</span> <span class="o">=</span> <span class="m">4000</span>

<span class="c1">#conf_nr = 500</span>
<span class="c1">#prev_conf = conf_s064t16_b0687361_a_U000500</span>
<span class="c1">#prev_rand = rand_s064t16_b0687361_a_U000500</span>
</pre></div>
</div>
<p>Calling <code class="docutils literal notranslate"><span class="pre">./generateQuenched</span> <span class="pre">generateQuenched.param</span></code> will output gauge configurations (in nersc format with double precision and 2/3 compression) and their corresponding random number state in the folder <code class="docutils literal notranslate"><span class="pre">output_dir</span></code>. The output looks like this: e.g.</p>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>conf_s064t16_b0687361_a_U000500
conf_s064t16_b0687361_a_U001000
rand_s064t16_b0687361_a_U000500
rand_s064t16_b0687361_a_U001000
...
</pre></div>
</div>
<p>The configuration number is inferred from <code class="docutils literal notranslate"><span class="pre">nsweeps_HBwithOR</span></code>, i.e. the first configuration is labeled with the suffix “<code class="docutils literal notranslate"><span class="pre">_U&lt;nsweeps_HBwithOR&gt;</span></code>” and the following configuration numbers increase in steps of <code class="docutils literal notranslate"><span class="pre">nsweeps_HBwithOR</span></code>. You should always specify the stream name by setting the parameter <code class="docutils literal notranslate"><span class="pre">stream</span></code>.</p>
<p>With <code class="docutils literal notranslate"><span class="pre">nconfs</span></code> you can specify how many configurations should be generated before the program stops.
With <code class="docutils literal notranslate"><span class="pre">nsweeps_ORperHB</span></code> you can specify how many OR updates should be done for each HeatBath update.
With <code class="docutils literal notranslate"><span class="pre">nsweeps_HBwithOR</span></code> you can specify how many HB updates (with <code class="docutils literal notranslate"><span class="pre">nsweeps_ORperHB</span></code> OR updates per HB) should be done between each saved configuration.</p>
<section id="thermalization-parameters">
<h2>Thermalization parameters<a class="headerlink" href="#thermalization-parameters" title="Permalink to this headline"></a></h2>
<p>These are required when starting a new stream.
With <code class="docutils literal notranslate"><span class="pre">start</span></code> you can specify with which kind of configuration the thermalization should start.
The options are <code class="docutils literal notranslate"><span class="pre">one</span></code> (all links = unity matrix), <code class="docutils literal notranslate"><span class="pre">fixed_random</span></code> (all links = same random SU3 matrix) and <code class="docutils literal notranslate"><span class="pre">all_random</span></code>
(a random configuration of SU3 matrices).
With  <code class="docutils literal notranslate"><span class="pre">nsweeps_thermal_HB_only</span></code> you can specify how many pure HB updates should be done after the cold start.
With <code class="docutils literal notranslate"><span class="pre">nsweeps_thermal_HBwithOR</span></code> you can specify how many HBOR updates should be done after the pure HB updates.
The seed for the random number generator is the time since Unix epoch in milliseconds and is output to stdout.</p>
</section>
<section id="parameters-for-resuming-a-previous-run">
<h2>Parameters for resuming a previous run<a class="headerlink" href="#parameters-for-resuming-a-previous-run" title="Permalink to this headline"></a></h2>
<p>With <code class="docutils literal notranslate"><span class="pre">prev_conf</span></code> you can specify the path of the last configuration you generated.
With <code class="docutils literal notranslate"><span class="pre">conf_nr</span></code> you can specify the number of this last configuration, so that the next configuration’s number will be ( previous_number + <code class="docutils literal notranslate"><span class="pre">nsweeps_ORperHB</span></code> ). Don’t forget to set <code class="docutils literal notranslate"><span class="pre">stream</span></code> to the correct value.
With <code class="docutils literal notranslate"><span class="pre">prev_rand</span></code> you can specify the path of the according random number state of that configuration. If you don’t specify this then a new random number state will be generated (The seed for this is also time since Unix epoch in milliseconds and is output to stdout.)</p>
</section>
</section>


           </div>
          </div>
          <footer>

  <hr/>

  <div role="contentinfo">
    <p>&#169; Copyright 2021, LatticeQCD.</p>
  </div>

  Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
    provided by <a href="https://readthedocs.org">Read the Docs</a>.
   

</footer>
        </div>
      </div>
    </section>
  </div>
  <script>
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script> 

</body>
</html>